<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // var arr = [1,2,3] ;
        // var arr2 = [] ;
        // for(var i = 0 ; i < arr.length ; i++) {
        //     arr2.push(arr[i]) ;
        // }

        // console.log(arr2) ;

        // var arr = [1,['a' , 'b'],3] ;
        // var arr2 = [] ;
        // for(var i = 0 ; i < arr.length ; i++) {
        //     arr2.push(arr[i]) ;
        // }

        // console.log(arr2) ;

        // arr[1].push('c') ;

        // console.log(arr) ;

        // console.log(arr2) ;  // arr的改变会影响arr2


        // 如何实现多维数组的深复制？
        // var arr = [1,['a' , ['b' , 'c']],3] ;

        // var arr2 = [] ;

        // for(var i = 0 ; i < arr.length ; i++) {
        //     // 判断数组中的值是不是数组
        //     if(Array.isArray(arr[i])) {
        //         // 如果数组中的值依然是数组，就需要继续遍历数组
        //         var list = [] ;
        //         for(var j = 0 ; j < arr[i].length ; j++) {
        //             list.push(arr[i][j]) ;
        //         }
        //         arr2.push(list) ;
        //     } else {
        //         arr2.push(arr[i]) ;
        //     }
        // }

        var arr = [1 , [2,3] , 4] ;
        // function deepCopy(arr) {
        //     var arr2 = [] ;
        //     // 遍历数组
        //     for(var i = 0 ; i < arr.length ; i++) {
        //         // 判断数组中的值是不是数组
        //         if(Array.isArray(arr[i])) {
        //            var arr3 = [] ;
        //            for(var j = 0 ; j < arr[i].length ; j++) {
        //                if(Array.isArray(arr[i[j]])) {

        //                } else {
        //                    arr3.push(arr[i][j]) ;
        //                }
        //            }
        //            arr2.push(arr3) ;

        //         } else {
        //             arr2.push(arr[i]) ;
        //         }
        //     }
        //     return arr2 ;
        // }

        var arr = [1,[2,[3]],4];

        // 多维数组的深复制实际上就是多个一维数组的递推
        // function deepCopy(arr) {
        //     var arr2 = [] ;
        //     // 遍历数组
        //     for(var i = 0 ; i < arr.length ; i++) {
        //         // 判断数组中的值是不是数组
        //         if(Array.isArray(arr[i])) {
                    
        //             arr2.push(deepCopy(arr[i])) ;

        //         } else {
        //             arr2.push(arr[i]) ;
        //         }
        //     }
        //     return arr2 ;
        // }

        // console.log(deepCopy(arr)) ;


        
        function deep(arr) {
            var arr2 = [] ;
            for(var i = 0 ; i < arr.length ; i++) {
                if(Array.isArray(arr[i])) {
                    arr2.push(deep(arr[i])) ;
                } else {
                    arr2.push(arr[i])
                }
            }
            return arr2
        }



        // i = 0 ; 
        //     arr2.push(1)
        // i = 1 ;  [2 , [3]]   是一个数组
            

    </script>
    
</body>
</html>